Timing advance for satellite-based communications using a satellite with enhanced processing capabilities

ABSTRACT

Various arrangements are presented for using an estimated timing advance for user equipment communications. A location of an instance of user equipment may be determined. An estimated distance between the user equipment and a communication satellite may be determined using the determined location of the user equipment and an estimated satellite location. An estimated timing offset using the calculated estimated distance may be determined. An uplink data frame may be transmitted by the user equipment to the satellite such that a timing of transmission of the uplink data frame is based on the calculated estimated timing offset.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of US Pat. App. No. 17/153,368,entitled “Timing Advance For Satellite-Based Communications Using ASatellite With Enhanced Processing Capabilities,” filed on Jan. 20,2021, which application is a continuation of U.S. Pat. App. No.16/151,936, entitled “Timing Advance For Satellite-Based CommunicationsUsing A Satellite With Enhanced Processing Capabilities,” filed on Oct.4, 2018, now U.S. Pat. No. 10,931,365, which application is acontinuation-in-part of US Pat. App. No. 16/047,355, entitled “TimingAdvance for Satellite-based Communications” filed on Jul. 27, 2018, nowU.S. Pat. No. 10,624,052, which claims priority to US Provisional App.No. 62/670,349, entitled “Timing Advance for Satellite-basedCommunications”, filed on May 11, 2018, the entire disclosures of theseapplications are incorporated by reference for all purposes.

BACKGROUND

Communication between user equipment (UE) and a base station (e.g., aneNodeB, gNodeB) results in an amount of time elapsing between when asignal is transmitted (e.g., by the UE) and received (e.g., by the basestation). This amount of delay is due to the propagation speed ofelectromagnetic radiation. Typically, this mount of delay is relativelysmall because UE tends to be within a relatively short distance of thebase station. For instance, a range of less than one kilometer to tenkilometers between the UE and base station may be common. However,circumstances exist where this distance may be significantly greater.

SUMMARY

Various embodiments are described related to using an estimated timingadvance for satellite-based communications. In some embodiments, amethod for using an estimated timing advance for satellite-basedcommunications is described. The method may include determining, by userequipment, a location of the user equipment using a global navigationsatellite system. The method may include calculating, by the userequipment, an estimated distance between the user equipment and acommunication satellite using the determined location of the userequipment and an estimated satellite location. The estimated satellitelocation may indicate an estimated orbital location of the communicationsatellite. The method may include calculating, by the user equipment, anestimated timing offset using the calculated estimated distance. Themethod may include transmitting, by the user equipment, to thecommunication satellite, an uplink data frame such that a timing oftransmission of the uplink data frame may be based on the calculatedestimated timing offset.

Embodiments of such a method may include one or more of the followingfeatures: The uplink data frame transmitted to the communicationsatellite may include a physical random access channel (PRACH) preamble.The method may further include determining, by the communicationsatellite, an amount of timing error due to the estimated distance beingestimated. The method may further include determining, by thecommunication satellite, a timing advance (TA) value based on the amountof timing error. The method may include transmitting, by thecommunication satellite, a TA command that includes the TA value to theuser equipment via the communication satellite. The communicationsatellite may be functioning as a distributed unit. A gNodeB may befunctioning as a centralized unit in communication with the distributedunit via a satellite gateway. The method may further include receiving,by the user equipment, the TA command that includes the TA value at theuser equipment from the communication satellite. The method may includeusing, by the user equipment, the estimated timing advance and thereceived TA value to create a corrected TA value. The method may includetransmitting, by the user equipment, to the communication satellite,data such that a timing of transmission of the data may be based on thecorrected TA value. The TA value may be twelve bits in length. The TAvalue may have a defined maximum value of 3846. The TA value may allowfor a timing correction of less than 2.5 ms. A maximum amount of errorof the determined estimated distance may be 100 km. The method mayfurther include accessing locally-stored orbital information of thecommunication satellite. The communication satellite may be in low earthorbit (LEO) or middle earth orbit (MEO). The method may includecalculating the estimated satellite location based on the locally-storedorbital information.

In some embodiments, a device for using an estimated timing advance forsatellite-based communications is described. The device may include asatellite antenna for communicating directly with a communicationsatellite that relays communications to a satellite gateway system. Thedevice may include a global navigation satellite system (GNSS)component. The device may include one or more processors incommunication with the satellite antenna and the GNSS component. The oneor more processors may be configured to determine a location of thedevice using the GNSS component. The one or more processors may beconfigured to calculate an estimated distance between the device and thecommunication satellite using the determined location of the device andan estimated satellite location. The estimated satellite location mayindicate an estimated orbital location of the communication satellite.The one or more processors may calculate an estimated timing offsetusing the calculated estimated distance. The one or more processors maytransmit, to the communication satellite, via the satellite antenna, anuplink data frame such that a timing of transmission of the uplink dataframe may be based on the calculated estimated timing offset.

Embodiments of such a device may include one or more of the followingfeatures: The uplink data frame transmitted to the communicationsatellite may include a physical random access channel (PRACH) preamble.The one or more processors may be further configured to receive a timingadvance (TA) command that includes a TA value from the communicationsatellite. The one or more processors may be further configured to usingthe estimated timing advance and the received TA value to create acorrected TA value. The one or more processors may be further configuredto cause data to be transmitted to the communication satellite such thata timing of transmission of the data may be based on the corrected TAvalue. The TA value may be twelve bits in length. The TA value may allowfor a timing correction of less than 2.5 ms. The one or more processorsmay be further configured to access stored orbital informationindicative of an orbit of the communication satellite. The communicationsatellite may be in low earth orbit (LEO) or middle earth orbit (MEO).The one or more processors may calculate the estimated satellitelocation based on the locally-stored orbital information.

In some embodiments, a system for using an estimated timing advance forsatellite-based communications is described. The system may include acommunication satellite. The system may include a communication networkgateway system that communicates with the communication satellite. Thesystem may include user equipment. The user equipment may include asatellite antenna for communicating with the communication satellitethat may relay communications to a satellite gateway system. The userequipment may include a global navigation satellite system (GNSS)component. The user equipment may include one or more processors incommunication with the satellite antenna and the GNSS component. The oneor more processors may be configured to determine a location of the userequipment using the GNSS component. The one or more processors maycalculate an estimated distance between the user equipment and thecommunication satellite using the determined location of the userequipment and an estimated satellite location. The estimated satellitelocation may indicate an estimated orbital location of the communicationsatellite. The one or more processors may calculate an estimated timingoffset using the calculated estimated distance. The one or moreprocessors may transmit, to the communication satellite, via thesatellite antenna, an uplink data frame such that a timing oftransmission of the uplink data frame may be based on the calculatedestimated timing offset.

Embodiments of such a system may include one or more of the followingfeatures: The communication satellite may function as a distributed unitand the communication network gateway system may function as acentralized unit. The communication satellite may be further configuredto determine an amount of timing error due to the estimated distancebeing estimated. The system may determine a timing advance (TA) valuebased on the amount of timing error. The system may transmit a TAcommand that includes the TA value to the user equipment via thecommunication satellite. The one or more processors of the userequipment may be further configured to receive, via the satelliteantenna, the TA command that includes the TA value at the user equipmentfrom the communication satellite. The one or more processors may use theestimated timing advance and the received TA value to create a correctedTA value. The one or more processors may cause the satellite antenna totransmit data to the communication satellite such that a timing oftransmission of the data may be based on the corrected TA value.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of variousembodiments may be realized by reference to the following figures. Inthe appended figures, similar components or features may have the samereference label. Further, various components of the same type may bedistinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If only the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

FIG. 1 illustrates a diagram representing the timing relationship of areceived downlink frame and a transmitted uplink frame.

FIG. 2 illustrates an embodiment of a satellite-based communicationnetwork.

FIG. 3 illustrates a block diagram of an embodiment of user equipment(UE).

FIG. 4 illustrates a block diagram of an embodiment of a communicationsatellite functioning as a distributed unit (DU).

FIG. 5 illustrates an embodiment of a method for determining and usingan estimated timing offset for UE communications.

FIG. 6 illustrates an embodiment of a method for creating and using atiming advance (TA) command.

DETAILED DESCRIPTION

In certain circumstances, the distance between user equipment (UE) and abase station (e.g., a gNodeB, an eNodeB) may be significantly greaterthan the previous example of less than one to a hundred kilometers. IfUE communicates with, for example, a gNodeB via a communicationsatellite, the distance between the UE and the base station can besignificantly greater. If the communication satellite is located ingeosynchronous orbit, the communication satellite may be in orbit of theearth at an altitude of approximately 35,786 kilometers. Due to signalpropagation between the UE and the communication satellite, thecommunication satellite and a satellite gateway, and the satellitegateway and a communication network gateway, such as a base station(e.g., eNodeB, gNodeB), a signal from UE being transmitted to thecommunication network gateway may travel over 71,572 kilometers. Thisdistance can result in a signal taking at least 540 milliseconds totravel between the UE and the communication network gateway. In suchembodiments, the communication satellite may be functioning as a relay.That is, the communication satellite may receive data from UE or a basestation and relay the same data to the base station or the UE withoutediting or processing being performed on the data. This arrangement issometimes referred to as a “bent pipe” model.

In other embodiments, however, the satellite may serve to function as adistributed unit (DU). A DU may perform at least some processing on datareceived from UE and/or a base station. Other functions may remain beingperformed by a communication network gateway (e.g., a base station, agNodeB, an eNodeB). In such an arrangement, the communication networkgateway may be referred to as a centralized unit (CU).

By the communication satellite functioning as a DU, various technicaladvantages may be realized. For instance, the DU may be able to allowfor mesh connectivity between UE. That is, a first UE may communicatewith a second UE via the communication satellite without thecommunications needing to be routed through a ground-based satellitegateway, thus helping to keep communication latency low. Further, by thecommunication satellite functioning as a DU, at least some additionalbandwidth may be freed between the DU and CU since some processing isperformed by the DU and not all data needs to be routed to thecommunication network gateway for processing.

When the communication satellite is used as a DU (as opposed to the bentpipe model), the distance between the communication satellite and thecommunication network gateway may not affect how the timing ofcommunications between the DU and UE is structured. However, a distanceof approximately 35,786 between the UE and the DU is still significant,and can result in a delay of at least 270 milliseconds in travel timebetween the UE and the communication satellite functioning as the DU.

A timing advance (TA) is a negative timing offset that is used by UE todetermine when uplink data (e.g., an uplink subframe) should betransmitted by the UE in relation to downlink data (e.g., the downlinksubframe) received by the UE. By using the TA and offsettingtransmission of the uplink data before the downlink data is received,the TA can allow for the uplink data (e.g., uplink subframe) to besynchronized with the downlink data at the communication networkgateway, such as the eNodeB or gNodeB. Equation 1 defines how the TA isused to determine when an uplink frame should be transmitted in relationto the downlink frame:

$\begin{matrix}{T_{TA} = N_{TA}T_{S}} & \text{­­­Eq. 1}\end{matrix}$

In Equation 1, Ts represents the sampling time, which can depend on thesubcarrier spacing (SCS). T_(TA) represents the timing advance. N_(TA)is a command that is transmitted by the communication gateway to the UEin the form of a timing advance command that is used by the UE todetermine T_(TA). FIG. 1 illustrates a diagram 100 representing thetiming relationship at the UE of a received downlink frame 101 and atransmitted uplink frame 102. The uplink frame is transmittedN_(TA)T_(S), represented by time period 105, ahead of the downlink framebeing received such that at the communication network gateway, thedownlink frame and uplink frame are temporally synchronized.

The size of the timing advance command field (N_(TA)) may have a definedlength. For instance, under the proposed Fifth Generation WirelessSystems (5G), the timing advance command field may be limited to twelvebits. While twelve bits allows for a decimal value of 4095, the maximumvalue for the timing advance command field may be limited to 3846. Inother embodiments, such as in 4G LTE, the TA field is eleven bits.Further, when a large timing advance is used, a guard-time (GT) used aspart of the random access channel (RACH) preamble may need to be long induration to account for the communication delay.

In an embodiment in which a satellite is functioning as a DU, thegreater the distance between the UE and the communication satellite, thegreater the value of the timing advance command may need to be such thatthe uplink subframe and the downlink subframe are synchronized. Withoutmodification, in a scenario where frames are relayed by a geosynchronouscommunication satellite functioning as a DU, a satellite in low earthorbit (LEO) functioning as a DU, or medium earth orbit (MEO) functioningas a DU, a twelve bit value for the timing advance command field may beinsufficient such that a great enough timing advance is used by the UEsuch that the uplink frame and downlink frame are synchronized at theDU.

Embodiments detailed herein allow for a UE to apply a sufficient timingoffset such that downlink and uplink frames are approximatelysynchronized at the communication satellite functioning as the DU andallowing for the DU to perform a further, smaller adjustment using atiming advance value. Further, embodiments detailed herein allow for theGT to be kept low despite the large distance between the UE and thecommunication satellite functioning as the DU. In embodiments detailedherein, an estimate of the distance between the UE and the communicationsatellite can be determined since the satellite remains roughly in thesame location (or travels according to a predictable orbit for LEO andMEO satellites). This determined estimate may be used for determining aninitial estimated timing offset, which then may be adjusted by the DUbased on an actual observed data transmission time.

By using such an estimated timing offset, the performance of thecommunication system may be significantly improved. For instance,additional data (e.g., a timing advance command field with an expandedamount of bits) does not need to be transmitted since the TA value maybe kept at twelve bits or smaller. Additionally or alternatively, a longguard time does not need to be introduced to account for the time delaybetween the UE and the DU, allowing the network resources to be moreefficiently used.

FIG. 2 illustrates an embodiment of a satellite-based communicationsystem 200. Satellite-based communication system 200 may comprise: UE210, communication satellite 220, satellite gateway system 230, andcommunication network gateway 240. UE 210 may represent variouscomputerized devices that can be used for communication purposes, suchas: a satellite phone; a satellite smartphone; a satellite modem; orsome other form of communication device enabled to communicate directlywith a GEO, LEO, or MEO satellite.

Communication satellite 220 may serve multiple functions. First,communication satellite may relay data between UE 210 and satellitegateway system 230. Second, communication satellite may perform at leastsome processing on data received from UE 210 and/or satellite gatewaysystem 230. This processing may involve changing contents of the data,changing the order in which data is transmitted, and/or changing thetiming of when data is transmitted.

Communication satellite 220 may receive a signal from satellite gatewaysystem 230 and transmit to UE 210 on a different frequency, referred toas a downlink transmission, possibly using different timing than wasused to transmit the data to communication satellite 220 by satellitegateway system 230. Communication satellite 220 may receive a signalfrom UE 210 and transmit to satellite gateway system 230 on a differentfrequency, referred to as a downlink transmission, possibly usingdifferent timing than was used to transmit the data to communicationsatellite 220 by UE 210. Satellite gateway system 230 may serve totransmit and receive messages with communication satellite 220.Satellite gateway system 230 may receive messages for transmission to UE210 from communication network gateway 240 and transmit such messagesvia communication satellite 220 to UE 210. Satellite gateway system 230may receive messages from communication satellite 220 that are from UE210 and translate and transmit such messages to communication networkgateway 240.

In embodiments where at least some processing on received data is beingperformed by communication satellite 220, the communication satellite220 is functioning as a distributed unit (DU). A DU can function incombination with a centralized unit (CU) to perform the functions of acommunication network gateway. Therefore, the distributed functionalityof a DU in combination with a CU allow for the functionality of acommunication network gateway to be realized. In some embodiments, suchas in a 4G (LTE Rel-15 or later) or 5G network, the DU may performingthe functionality related to the physical layer, medium access control(MAC) layer, and/or radio link control (RLC) layer. A CU may performfunctions related to the Packet Data Convergence Protocol (PDCP) layerand/or Service Data Adaptation Protocol (SDAP) layer. As detailedherein, determination and transmission of a timing advance value may beperformed by the DU and, therefore, may only need to account for a delayin communications between the DU and the UE.

Communication network gateway 240 may serve as a link between satellitegateway system 230 and one or more other networks, such as the Internet,a 4G or 5G wireless communication network, or some other form ofcommunication network. In some embodiments, satellite gateway system 230and communication network gateway 240 are collocated and/or are combinedinto a single gateway system (i.e., a gateway system that convertsdirectly between satellite communications and a communication network).In other embodiments, communication network gateway 240 is located adistance from satellite gateway system 230 and either wireless or wired(e.g., fiber-optic based) communication is used between satellitegateway system 230 and communication network gateway 240. In someembodiments, communication network gateway 240 comprises an eNodeB(Evolved Node B or eNB) or gNodeB (Next generation Node B or gNB).Communication network gateway 240 may be part of a 4G, 5G, or some othergeneration of wireless communication network.

For a transmission from UE 210 to communication network gateway 240,uplink data may be transmitted via wireless communication path 250,wireless communication path 260, and, if communication network gateway240 is located a distance from satellite gateway system 230,communication path 270. Therefore, uplink data transmitted by UE 210 hasthree distances to traverse: distance 251, distance 261, and distance271 (if communication network gateway 240 is located a distance fromsatellite gateway system 230). However, processing related totransmission or propagation delay may be performed at communicationsatellite 220 when communication satellite 220 is functioning as a DU.Therefore, only the transmission delay due to distance 251 may need tobe factored into the timing of communication signals betweencommunication satellite 220 and UE 210. Distances 261 and 271 may beinconsequential for the determination of signal timing.

Despite distance 251 being large, distance 251 may be estimated with arelatively high degree of accuracy by UE 210 if the UE is provided withcertain data. For instances where communication satellite 220 is ingeosynchronous orbit, communication satellite 220 remains within anorbit slot or window approximately above a fixed position on the earth’sequator. Relative the satellite’s position above the earth, the windowis relatively small: a geosynchronous satellite may be about 35,786 kmabove the earth’s surface. The window may be approximately 50 kilometersin each direction from a center of the satellite’s defined orbitalposition.

UE 210 may be able to determine its own location on earth, such as usinga global navigation satellite system (GNSS). For instance, a globalpositioning system (GPS) module may be on-board UE 210 that allows theUE to determine its own location with a high degree of accuracy. SinceUE 210 can determine its own location and can store data indicating theorbital position of communication satellite 220 (which may not accountof drift of communication satellite 220 within the window around itsorbital position), distance 251 can be estimated. When communicationsatellite 220 performs processing related to signal timing, distances261 and 271 may not be needed by UE 210.

Since UE 210 may be able to determine its location precisely, thepossibly unknown variable is movement of communication satellite 220within its orbital window. This variation, however, is small compared todistance 251 and may be accounted for using a TA value is calculated bythe DU.

FIG. 3 illustrates a block diagram of an embodiment of UE 210. UE 210may include GNSS module 310, timing controller 320, satellitetransceiver 330, timing calculation engine 340, distance datastore 350,timing datastore 352, and satellite location datastore 354. GNSS module310 may use one or more of various available global navigation satellitesystems (e.g., GPS, GLONASS, Galileo, Beidou) to determine a location ofUE 210. GNSS module 310 may periodically provide an indication oflocation of UE 210 to timing calculation engine 340.

Timing controller 320 may control when an uplink data frame istransmitted by satellite transceiver 330. Timing controller 320 mayreceive an indication of an estimated timing offset that is to beapplied to uplink frames from timing calculation engine 340. Timingcontroller 320 may implemented in software, firmware, or hardware. Forinstance, timing controller 320 may be implemented using one or morespecialized or general-purpose processors, possibly in combination withtiming calculation engine 340.

Satellite transceiver 330 may transmit and receive data withcommunication satellite 220. When uplink data is transmitted bysatellite transceiver 330 may be based on timing information provided bytiming controller 320.

Timing calculation engine 340 may access stored data from distancedatastore 350, timing datastore 352, and/or satellite location datastore354 in order to determine when uplink data is to be transmitted inrelation to downlink data by satellite transceiver 330. Timingcalculation engine may perform blocks as detailed in relation to method500 of FIG. 5 in order to determine an amount of estimated timingadvance. Timing calculation engine 340 may implemented in software,firmware, or hardware. Timing calculation engine 340 may be implementedusing one or more specialized or general-purpose processors.

Distance datastore 350 may be used to store indications of distance 251Alternatively, since distance 251 is calculated by timing calculationengine 340 based on location data from GNSS module 310, distance 251 maybe calculated when needed and not stored to distance datastore 350.

In some embodiments, in addition or in alternate to storing distances indistance datastore 350, timing values may be stored in timing datastore352. That is, rather than (or in addition to) storing an indication ofdistance 251, one or more values that indicate an estimated amounttiming offset that corresponds to distance 251 may be stored.

Satellite location datastore 354 may store the estimated orbitallocation of communication satellite 220 if it is a geosynchronoussatellite. The precise location of communication satellite 220 may varyabout 50 kilometers in any direction from the orbital location, thus thestored location of communication satellite 220 may be only an estimate.If communication satellite 220 is in LEO or MEO orbit, rather thansatellite location datastore 354 storing a defined location, satellitelocation datastore 354 may store data representative of an orbit ofcommunication satellite 220 such that timing calculation engine 340 cancalculate a current location of communication satellite 220.

UE 210 may include various other computerized components that areomitted from FIG. 3 for simplicity. One or more processors; one or moreprocessor-readable storage arrangements; one or more data buses; one ormore wired and/or wireless interfaces; and/or one or more userinterfaces may be present in various embodiments of UE 210.

FIG. 4 illustrates a block diagram of an embodiment of communicationsatellite 220. While an estimated timing offset may be determined andused by the UE initially, DU 401 residing at communication satellite220, such as during a RACH process, may determine a timing advance valueto correct the detected timing difference between a downlink frame beingsent to the UE and an uplink frame received from the UE due to distance251. Therefore, the TA value determined by DU 401 may be used to adjustthe estimated timing offset being used by UE 210.

DU 401 of communication satellite 220 may communicate with communicationnetwork gateway 240 and/or satellite gateway system 230, either of whichmay function as a CU that works in conjunction with DU 401 to functionas a communication network gateway.

Communication satellite 220 may include hardware components that enablecommunication with multiple instances of UE, including UE 210 and one ormore instances of satellite gateways, such as satellite gateway system230. Communication satellite 220 may include one or more UE transponders406 and one or more gateway transponders 408. One or more UEtransponders 406 may be used for bidirectional communication betweencommunication satellite 220 and instances of UE, such as UE 210. One ormore gateway transponders 408 may be used for bidirectional communicateusing one or more frequencies between one or more satellite gateways,such as satellite gateway system 230.

Located on-board communication satellite 220 may be DU 401. DU 401 maybe executed using one or more on-board processors, one or morenon-transitory computer-readable mediums, and/or other computerizedcomponents that are incorporated as part of communication satellite 220.In some embodiments, specialized hardware, such as one or more ASICS orfirmware may be used to perform the functionality of DU 401. In someembodiments, DU 401 may be implemented as software instructions that areexecuted using one or more processors. DU 401 may include distancebroadcast engine 420, timing advance calculation engine 430, timingdatastore 442, and satellite location datastore 444.

Distance broadcast engine 420 may occasionally or periodically be usedto transmit location, distance, and/or timing data to multiple UEs. Forinstance, distance broadcast engine 420 may broadcast the location ofcommunication satellite 220 (for a GEO satellite), or information (e.g.,orbit information) to calculate a location of communication satellite220 (for a MEO or LEO satellite).

Timing advance calculation engine 430 may calculate a timing advance(TA) value based on an uplink data frame received from UE 210. Thisuplink data frame already was transmitted in advance based on theestimated timing offset calculated by the UE. However, the estimatedtiming offset does not take into account the exact location ofcommunication satellite 220. Therefore, it is expected that at leastsome amount of timing advance adjustment may be needed. Since the vastmajority of the needed TA is captured in the estimated timing offsetdetermined by the UE, the TA value calculated by TA calculation engine430 may be comparatively small (and may be captured within twelve bits).The value calculated by TA calculation engine 430 can refer to N_(TA) ofEquation 1. The UE, when the value is received, can further adjust thetiming advance such that N_(TA) is used to further adjust the estimatedtiming offset. Timing advance calculation engine 430 may implemented insoftware, firmware, or hardware. For instance, timing advancecalculation engine 430 may be implemented using one or more specializedor general-purpose processors.

Satellite location datastore 444 may store indications of an orbitposition of a geosynchronous satellite or may store information thatdefines or is used to calculate an orbit of a LEO or MEO satellite. Suchdata may be transmitted periodically or occasionally to instances of UEby distance broadcast engine 420.

Timing datastore 442 may be used to store data related to thecalculation of TA values for multiple instances of UE. For instance,timing information that is to be used by TA calculation engine 430 tocalculate a TA may be stored to timing datastore 442 and then accessedby timing advance calculation engine 430. Calculated TA values may bestored to timing datastore 442 prior to and/or after transmission to UE.

Communication satellite 220 may include various other computerizedcomponents that are omitted from FIG. 4 for simplicity. One or moreprocessors; one or more processor-readable storage arrangements; one ormore data buses; one or more wired and/or wireless interfaces; and/orone or more user interfaces may be present in various embodiments ofcommunication satellite 220.

Various methods may be performed using the systems and devices detailedin relation to FIGS. 1-4 . FIG. 5 illustrates an embodiment of a method500 for determining and using an estimated timing offset for userequipment communications. Each step of method 500 may be performed usinguser equipment, such as UE 210. At block 510, a location of the UE maybe determined. The UE may use an on-board GNSS (e.g., GPS) component todetermine its location. Other forms of location determination may alsobe possible. For instance, the UE may be able to determine its locationbased on user input, sensing one or more particular wireless networks(e.g., a Wi-Fi network), dead reckoning, etc.

At block 520, a first estimated distance between the UE and thecommunication satellite may be calculated by the UE. Block 520 mayinvolve the UE accessing data that indicates an estimated location ofthe satellite, such as an indication of a location at the center of thecommunication satellite’s geosynchronous orbital window. In someembodiments, such as if the satellite is in LEO or MEO, the UE may storean indication of an orbit of the communication satellite such that byaccessing a current date and time, the UE can determine the approximatelocation of the communication satellite.

At block 530, a timing offset may be calculated by the UE using theestimated distance from block 520 that is representative of the distancebetween the communication satellite functioning as the DU and the UE(but not of the distance between the communication satellite and thesatellite gateway and/or a CU of the communication network gateway). Thetiming offset may be calculated based on the distance between thecommunication satellite and the UE being divided by the speed ofelectromagnetic radiation (the speed of light). Based on the maximumestimated distance error, a maximum timing error of the offset isexpected to be, at most, 0.33 milliseconds.

At block 540, the estimated timing offset may be stored by the UE. Atblock 550, the estimated timing offset may be used to determine anamount of time ahead of a downlink frame that an uplink frame of datashould be transmitted to the communication satellite such that thenetwork communication gateway receives the uplink data approximately insynchronization with the downlink frame it is transmitting to the UE.The estimated timing offset may be used to offset the transmission ofuplink data until a TA value is received from the communication networkgateway, such as part of the RACH process. The maximum expected amountof error that will be corrected using the TA value may be 0.33milliseconds, which accounts for the variance in distance. At block 550,the uplink data transmitted may include a physical random access channelpreamble (PRACH).

FIG. 6 illustrates an embodiment of a method 600 for creating and usinga timing advance (TA) command to correct any timing error present in theestimated timing offset used as part of method 500. Method 600 may beperformed following method 500. Method 600 may be performed as part of aRACH process. Each step of method 600 may be performed using a DU thatis part of a communication satellite that communicates with the UE. TheDU can be in communication with a CU, which may be a communicationnetwork gateway, such as a gNodeB or eNodeB. In some embodiments, eachblock of method 600 may be performed by a communication satellite or,more specifically, a DU residing at or executed by the communicationsatellite.

At block 610, uplink data, such as in the form of an uplink frame, maybe received by the DU of the communication satellite from the UE. Atblock 620, an amount of timing offset between the uplink frame and thetime at which the communication satellite transmits a correspondingdownlink frame may be determined. At block 620, it can be expected thatthe amount of timing offset between the uplink frame and the downlinkframe will be significantly smaller in duration than the propagationdelay due to the distance between the user equipment and thecommunication satellite because the user equipment has already applied atiming offset such that the uplink data frame was transmitted early.

At block 630, based on the measured amount of timing offset of block620, a timing advance value may be determined by the DU of thecommunication satellite. Based on the offset measured at block 620, theTA value may be determined by the DU of the communication satellite.This TA value may be 12 or fewer bits and may have a maximum value of3846. The TA value determined at block 630 may be based on Equation 1.Therefore, the timing advance value determined at block 630 can be usedby the UE to compute an amount of time to use as the TA. At block 640,the timing advance value may be transmitted to the UE by thecommunication satellite and the timing advance value may be received bythe UE at block 650. The TA value transmitted at block 640 may be partof a random access response (RAR) transmitted by the DU. The timingadvance value may be transmitted as part of a timing advance commandfield that has a defined number of bits, such as twelve.

At block 660, future uplink data transmitted by the UE to the satellitegateway system via the satellite may have its timing modified such thatthe received TA value is used to adjust the estimated timing offsetvalue calculated as part of method 500. Therefore, the estimated timingoffset value is still used in transmitting data by the UE, but isfurther adjusted based on the received TA value. The UE may continue toreceive adjusted TA values over time, which may be repeatedly used toadjust the estimated timing offset value calculated as part of method500.

The methods, systems, and devices discussed above are examples. Variousconfigurations may omit, substitute, or add various procedures orcomponents as appropriate. For instance, in alternative configurations,the methods may be performed in an order different from that described,and/or various stages may be added, omitted, and/or combined. Also,features described with respect to certain configurations may becombined in various other configurations. Different aspects and elementsof the configurations may be combined in a similar manner. Also,technology evolves and, thus, many of the elements are examples and donot limit the scope of the disclosure or claims.

Specific details are given in the description to provide a thoroughunderstanding of example configurations (including implementations).However, configurations may be practiced without these specific details.For example, well-known circuits, processes, algorithms, structures, andtechniques have been shown without unnecessary detail in order to avoidobscuring the configurations. This description provides exampleconfigurations only, and does not limit the scope, applicability, orconfigurations of the claims. Rather, the preceding description of theconfigurations will provide those skilled in the art with an enablingdescription for implementing described techniques. Various changes maybe made in the function and arrangement of elements without departingfrom the spirit or scope of the disclosure.

Also, configurations may be described as a process which is depicted asa flow diagram or block diagram. Although each may describe theoperations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be rearranged. A process may have additional steps notincluded in the figure. Furthermore, examples of the methods may beimplemented by hardware, software, firmware, middleware, microcode,hardware description languages, or any combination thereof. Whenimplemented in software, firmware, middleware, or microcode, the programcode or code segments to perform the necessary tasks may be stored in anon-transitory computer-readable medium such as a storage medium.Processors may perform the described tasks.

Having described several example configurations, various modifications,alternative constructions, and equivalents may be used without departingfrom the spirit of the disclosure. For example, the above elements maybe components of a larger system, wherein other rules may takeprecedence over or otherwise modify the application of the invention.Also, a number of steps may be undertaken before, during, or after theabove elements are considered.

What is claimed is:
 1. A method for satellite-based communications, themethod comprising: determining, by a user equipment, a location of theuser equipment; calculating an estimated distance between the userequipment and a communication satellite using the determined location ofthe user equipment and an estimated satellite location, wherein: thecommunication satellite performs gNodeB functions on data received fromthe user equipment, the one or more gNodeB functions comprising mediumaccess control (MAC) layer functionality and radio link control (RLC)layer functionality; calculating, by the user equipment, an estimatedtiming offset using the calculated estimated distance; transmitting, bythe user equipment, to the communication satellite, an uplink data framesuch that a timing of transmission of the uplink data frame is based onthe calculated estimated timing offset; receiving, by the userequipment, a timing advance (TA) command that comprises a TA value thatindicates an amount of timing error due to the estimated distance beingestimated; adjusting, by the user equipment, the calculated estimatedtiming advance based on the received TA value to create a corrected TAvalue; and transmitting, by the user equipment, to the communicationsatellite, data such that a timing of transmission of the data is basedon the corrected TA value.
 2. The method of claim 1, wherein determiningthe location of the user equipment comprises using a global navigationsatellite system (GNSS).
 3. The method of claim 1, wherein the uplinkdata frame transmitted to the communication satellite comprises aphysical random access channel (PRACH) preamble.
 4. The method of claim1, further comprising: determining, by the communication satellite, theamount of timing error due to the estimated distance being estimated;determining, by the communication satellite, the TA value based on theamount of timing error; and transmitting, by the communicationsatellite, the TA command that comprises the TA value to the userequipment via the communication satellite.
 5. The method of claim 1,wherein the TA value is twelve bits in length.
 6. The method of claim 5,wherein the TA value has a defined maximum value of
 3846. 7. The methodof claim 6, wherein the TA value allows for a timing correction of nomore than 2.5 ms.
 8. The method of claim 1, wherein a maximum amount oferror of the determined estimated distance permitted is 100 km.
 9. Themethod of claim 1, wherein the communication satellite functions as partof a 5G cellular network.
 10. A system for satellite-basedcommunications, the system comprising: a device, comprising: a satelliteantenna for communicating directly with a communication satellite thatrelays communications to a satellite gateway system; and one or moreprocessors in communication with the satellite antenna, the one or moreprocessors configured to: determine a location of the device; calculatean estimated distance between the device and the communication satelliteusing the determined location of the device and an estimated satellitelocation, wherein: the communication satellite performs one or moregNodeB functions on data received from the device, the one or moregNodeB functions comprising medium access control (MAC) layerfunctionality and radio link control (RLC) layer functionality; andcalculate an estimated timing offset using the calculated estimateddistance; cause an uplink data frame to be transmitted to thecommunication satellite such that a timing of transmission of the uplinkdata frame is based on the calculated estimated timing offset; receive atiming advance (TA) command that comprises a TA value that indicates anamount of timing error due to the estimated distance being estimated;adjust the calculated estimated timing advance based on the received TAvalue to create a corrected TA value; and cause data to be transmittedto the communication satellite such that a timing of transmission of thedata is based on the corrected TA value.
 11. The system of claim 10,further comprising the communication satellite.
 12. The system of claim10, wherein the communication satellite is in geosynchronous orbit. 13.The system of claim 12, wherein the communication satellite is furtherconfigured to: determine the amount of timing error due to the estimateddistance being estimated; determine the TA value based on the amount oftiming error; and transmit the TA command that comprises the TA value tothe device via the communication satellite.
 14. The system of claim 10,wherein the communication satellite functions as part of a 5G cellularnetwork.
 15. The system of claim 12, wherein the device furthercomprises a global navigation satellite system (GNSS) component, whereinthe location of the device is determined using the GNSS component. 16.The system of claim 12, wherein the TA value is twelve bits in lengthand the TA value has a defined maximum value of
 3846. 17. The system ofclaim 12, wherein the TA value allows for a timing correction of no morethan 2.5 ms and a maximum amount of error of the determined estimateddistance permitted is 100 km.
 18. A non-transitory processor-readablemedium for a device, comprising processor-readable instructionsconfigured to cause one or more processors to: calculate an estimateddistance between the device and a communication satellite using alocation of the device and an estimated satellite location, wherein: thecommunication satellite performs one or more gNodeB functions on datareceived from the device, the one or more gNodeB functions comprisingmedium access control (MAC) layer functionality and radio link control(RLC) layer functionality; and calculate an estimated timing offsetusing the calculated estimated distance; cause an uplink data frame tobe transmitted to the communication satellite such that a timing oftransmission of the uplink data frame is based on the calculatedestimated timing offset; receive a timing advance (TA) command thatcomprises a TA value that indicates an amount of timing error due to theestimated distance being estimated; adjust the calculated estimatedtiming advance based on the received TA value to create a corrected TAvalue; and cause data to be transmitted to the communication satellitesuch that a timing of transmission of the data is based on the correctedTA value.
 19. The non-transitory processor-readable medium of claim 18,wherein the device is a satellite phone.
 20. The non-transitoryprocessor-readable medium of claim 18, wherein the communicationsatellite functions as part of a 5G network.